Ultrasound imaging provides useful information about the interior characteristics of an object or subject such as a human or animal patient. In one instance, an ultrasound scanner has been used to estimate blood flow velocity and generate one or more images of the interior characteristics with the estimated blood velocity superimposed there over.
With conventional ultrasound imaging blood flow velocity estimation, a pulse-echo field only oscillates in the axial direction along the axis of the ultrasound beam. This is illustrated in FIG. 1 in which an ultrasound beam 102 propagates along a z-axis 104 and only the axial velocity component (vz) 106 along the z-axis or depth can be estimated; the transverse velocity components vx 108 and vy 110 cannot be estimated. Blood scatterers passing through the field of interest will produce a signal with a frequency component proportional to the axial velocity. The basic mechanism that allows the traditional estimation of axial velocities is the oscillations in the transmitted pulse.
The transverse oscillation (TO) blood velocity estimation approach has been used to estimate vz and vx. Using the same basic mechanism noted above, a transverse oscillation is introduced in the ultrasound field, and this oscillation generates received signals that depend on the transverse oscillation. The basic idea is to create a double-oscillating pulse-echo field using a one dimensional (1D) transducer array. This had been accomplished by using the same transmit beam as used in conventional velocity estimation and particularly predetermined apodization profiles in receive. Suitable apodization functions are discussed in J. A. Jensen and P. Munk, “A New Method for Estimation of Velocity Vectors,” IEEE Trans. Ultrason., Ferroelec., Freq. Contr., vol. 45, pp. 837-851, 1998, and J. Udesen and J. A. Jensen, “Investigation of Transverse Oscillation Method,” IEEE Trans. Ultrason., Ferroelec., Freq. Contr., vol. 53, pp. 959-971, 2006.
FIG. 2 shows an example of the TO approach for estimating vz and vx. In this example, the transverse oscillations are created in receive, and two lines are beamformed in parallel to get the spatial lateral in-phase (I) and quadrature (Q) components. The spatial IQ samples, rIQ, are obtained by rIQ(t)=rI(t)+jrQ(t), where rI and rQ are the samples at time t from the left and right beam, respectively. Along with the two TO lines, a center line can be beamformed for conventional axial or depth velocity estimation. Using the Fraunhofer approximation, the relation between the lateral spatial wavelength and the apodization function is: λx=2λzz0/d, where d is the distance between the two peaks in the apodization function, z0 is depth, and λz is the axial wavelength.
From the above apodization function, the lateral wavelength (λx) increases as the depth (z0) increases, if the apodization function (d) is kept constant. To keep a constant lateral wavelength (λx), the aperture must expand with depth (z0). Using a phased array, the width is often limited, so instead the spacing between the two beamformed lines can be increased through depth. Keeping the apodization function fixed, the two lines can be beamformed with a fixed angle. Using the tangent-relation, the angle, θ, between the two lines can be derived as θ/2=arctan ((λx/8)/z0)=arctan (λz/4d).
If rIQ is the spatial IQ signal, then the corresponding temporal IQ signal can be referred to as rIQ,h, and two new signals, r1 and r2, can be generated r1(k)=rIQ(k)+jrIQ,h(k) and r2(k)=rIQ(k)−jrIQ,h(k), where k denotes discrete samples. The transverse velocity (vx) can then be calculated by:
            v      ⁢                          ⁢      x        =                  (                              λ            x                                2            ⁢            π            ⁢                                                  ⁢            2            ⁢                                                  ⁢            k            ⁢                                                  ⁢                          T              prf                                      )            ⁢              arctan        ⁡                  (                                                                    ⁢                                  {                                                            R                      1                                        ⁡                                          (                      k                      )                                                        }                                ⁢                ℜ                ⁢                                  {                                                            R                      2                                        ⁡                                          (                      k                      )                                                        }                                            +                              𝔍                ⁢                                  {                                                            R                      2                                        ⁡                                          (                      k                      )                                                        }                                ⁢                ℜ                ⁢                                  {                                                            R                      1                                        ⁡                                          (                      k                      )                                                        }                                                                                                    ⁢                                  {                                                            R                      1                                        ⁡                                          (                      k                      )                                                        }                                ⁢                ℜ                ⁢                                  {                                                            R                      2                                        ⁡                                          (                      k                      )                                                        }                                            -                              𝔍                ⁢                                  {                                                            R                      2                                        ⁡                                          (                      k                      )                                                        }                                ⁢                𝔍                ⁢                                  {                                                            R                      1                                        ⁡                                          (                      k                      )                                                        }                                                              )                      ,where Tprf is the time between two pulses, R1(k) is the complex lag k autocorrelation value for r1(k), and R2(k) is the complex lag k autocorrelation value for r2(k). The complex autocorrelation is estimated over N shots, and is typically spatially averaged over a pulse length.
Three dimensional (3D) velocity approaches for estimating vz, vx and vy are discussed in M. D. Fox, “Multiple crossed-beam ultrasound Doppler velocimetry,” IEEE Trans. Son. Ultrason., vol. SU-25, pp. 281-286, 1978, and G. E. Trahey, J. W. Allison, and O. T. von Ramm, “Angle independent ultrasonic detection of blood flow,” IEEE Trans. Biomed. Eng., vol. BME-34, pp. 965-967, 1987. Unfortunately, Fox uses a multi-beam approach that requires trigonometry to determine velocity, and Trahey uses speckle tracking (normalized cross-correlation) to determine a three dimensional (3D) velocity vector from the entire acquired 3D volume of data.